{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "d2f1937f",
   "metadata": {},
   "source": [
    "# Distributions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "1b3797b5",
   "metadata": {},
   "outputs": [],
   "source": [
    "from os.path import basename, exists\n",
    "\n",
    "\n",
    "def download(url):\n",
    "    filename = basename(url)\n",
    "    if not exists(filename):\n",
    "        from urllib.request import urlretrieve\n",
    "\n",
    "        local, _ = urlretrieve(url, filename)\n",
    "        print(\"Downloaded \" + local)\n",
    "\n",
    "\n",
    "download(\"https://github.com/AllenDowney/ThinkStats2/raw/master/code/thinkstats2.py\")\n",
    "download(\"https://github.com/AllenDowney/ThinkStats2/raw/master/code/thinkplot.py\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "2bbaa48e",
   "metadata": {},
   "outputs": [],
   "source": [
    "download(\"https://github.com/AllenDowney/ThinkStats2/raw/master/code/nsfg.py\")\n",
    "\n",
    "download(\"https://github.com/AllenDowney/ThinkStats2/raw/master/code/2002FemPreg.dct\")\n",
    "download(\n",
    "    \"https://github.com/AllenDowney/ThinkStats2/raw/master/code/2002FemPreg.dat.gz\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1541ba29",
   "metadata": {},
   "source": [
    "## Histograms\n",
    "\n",
    "One of the best ways to describe a variable is to report the values that\n",
    "appear in the dataset and how many times each value appears. This\n",
    "description is called the **distribution** of the variable.\n",
    "\n",
    "The most common representation of a distribution is a **histogram**,\n",
    "which is a graph that shows the **frequency** of each value. In this\n",
    "context, \"frequency\" means the number of times the value appears.\n",
    "\n",
    "In Python, an efficient way to compute frequencies is with a dictionary.\n",
    "Given a sequence of values, `t`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a8c88e69",
   "metadata": {},
   "outputs": [],
   "source": [
    "t = [1, 2, 2, 3, 5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "32a8fcc3",
   "metadata": {},
   "outputs": [],
   "source": [
    "hist = {}\n",
    "for x in t:\n",
    "    hist[x] = hist.get(x, 0) + 1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "52b89af5",
   "metadata": {},
   "source": [
    "The result is a dictionary that maps from values to frequencies.\n",
    "Alternatively, you could use the `Counter` class defined in the\n",
    "`collections` module:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "614aa0bc",
   "metadata": {},
   "outputs": [],
   "source": [
    "from collections import Counter\n",
    "\n",
    "counter = Counter(t)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cbea952a",
   "metadata": {},
   "source": [
    "The result is a `Counter` object, which is a subclass of dictionary.\n",
    "\n",
    "Another option is to use the pandas method `value_counts`, which we saw\n",
    "in the previous chapter. But for this book I created a class, Hist, that\n",
    "represents histograms and provides the methods that operate on them."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6ddf0ec9",
   "metadata": {},
   "source": [
    "## Representing histograms\n",
    "\n",
    "The Hist constructor can take a sequence, dictionary, pandas Series, or\n",
    "another Hist. You can instantiate a Hist object like this:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "664f3c8c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Hist({1: 1, 2: 2, 3: 1, 5: 1})"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from thinkstats2 import Hist\n",
    "\n",
    "hist = Hist([1, 2, 2, 3, 5])\n",
    "hist"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9b20fe7c",
   "metadata": {},
   "source": [
    "Hist objects provide `Freq`, which takes a value and returns its\n",
    "frequency:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "b788c0ba",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hist.Freq(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3af2a2e9",
   "metadata": {},
   "source": [
    "The bracket operator does the same thing:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "dabde3b8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hist[2]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fd2ce71f",
   "metadata": {},
   "source": [
    "If you look up a value that has never appeared, the frequency is 0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "ef936c4c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hist.Freq(4)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4f6c7454",
   "metadata": {},
   "source": [
    "`Values` returns an unsorted list of the values in the Hist:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "800a81bc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys([1, 2, 3, 5])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hist.Values()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4cd35e0b",
   "metadata": {},
   "source": [
    "To loop through the values in order, you can use the built-in function\n",
    "`sorted`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "5aae0586",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1 1\n",
      "2 2\n",
      "3 1\n",
      "5 1\n"
     ]
    }
   ],
   "source": [
    "for val in sorted(hist.Values()):\n",
    "    print(val, hist.Freq(val))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7cef9cc4",
   "metadata": {},
   "source": [
    "Or you can use `Items` to iterate through value-frequency pairs:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "631f0d3e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1 1\n",
      "2 2\n",
      "3 1\n",
      "5 1\n"
     ]
    }
   ],
   "source": [
    "for val, freq in hist.Items():\n",
    "     print(val, freq)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a7c56908",
   "metadata": {},
   "source": [
    "## Plotting histograms\n",
    "\n",
    "![Histogram of the pound part of birth\n",
    "weight.](figs/first_wgt_lb_hist.pdf){height=\"2.5in\"}\n",
    "\n",
    "For this book I wrote a module called `thinkplot.py` that provides\n",
    "functions for plotting Hists and other objects defined in\n",
    "`thinkstats2.py`. It is based on `pyplot`, which is part of the\n",
    "`matplotlib` package. See Section [\\[code\\]](#code){reference-type=\"ref\"\n",
    "reference=\"code\"} for information about installing `matplotlib`.\n",
    "\n",
    "To plot `hist` with `thinkplot`, try this:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "4addf63a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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7Gw99thj8vDwuGptx44d1adPHxUVFTVa4+npKU9Pz6ZuEwAAtFCt8g7Qzp07VVRUpOnTp/9qbWVlpU6cOKGgoKBm6AwAALQGhgagyspKFRYWqrCwUJJUXFyswsJC+6Ll1NRUJSYm1jtv5cqVioyM1MCBA+sdmzNnjnbu3KmTJ09qz549mjhxotzd3ZWQkODSawEAAK2HoW+BHThwQKNHj7bvp6SkSJKmTp2qnJwclZaW1nuCq7y8XJs2bdKyZcsanPP06dNKSEjQhQsX1K1bN40YMUJ79+5Vt27dXHchAACgVTE0AI0aNUo2m63R4zk5OfXG/Pz89OOPPzZ6zrp165qiNQAA0Ia1yjVAAAAAN4IABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATMfQALRr1y7FxcUpODhYFotFW7ZsuWp9fn6+LBZLvc1qtTrUZWZmqmfPnvLy8lJkZKT279/vwqsAAACtjaEBqKqqSuHh4crMzHTqvGPHjqm0tNS++fv724+tX79eKSkpmj9/vg4dOqTw8HDFxMTo7NmzTd0+AABopdoZ+cNjY2MVGxvr9Hn+/v7q2LFjg8fS09M1Y8YMJSUlSZKysrK0detWZWdn609/+tONtAsAANqIVrkGKCIiQkFBQbr//vv12Wef2cdramp08OBBRUdH28fc3NwUHR2tgoKCRuerrq5WRUWFwwYAANquVhWAgoKClJWVpU2bNmnTpk0KCQnRqFGjdOjQIUnS+fPnVVtbq4CAAIfzAgIC6q0T+t/S0tLk5+dn30JCQlx6HQAAwFiGvgXmrL59+6pv3772/bvvvlsnTpzQq6++qv/8z/+87nlTU1OVkpJi36+oqCAEAQDQhrWqANSQ4cOHa/fu3ZKkrl27yt3dXWVlZQ41ZWVlCgwMbHQOT09PeXp6urRPAADQcrSqt8AaUlhYqKCgIEmSh4eHhg4dqry8PPvxuro65eXlKSoqyqgW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OnXS0KFDtWfPHvXv399e8+yzz6qqqkpPPvmkLl68qBEjRig3N7feByYCAABzMjwASVJycrKSk5MbPJafn++w/+qrr+rVV1+96nwWi0UvvviiXnzxxaZqEQAAtCGt7ikwAACAG0UAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAAptMiAlBmZqZ69uwpLy8vRUZGav/+/Y3Wvvnmmxo5cqQ6deqkTp06KTo6ul79tGnTZLFYHLZx48a5+jIAAEArYXgAWr9+vVJSUjR//nwdOnRI4eHhiomJ0dmzZxusz8/PV0JCgj799FMVFBQoJCREY8eO1XfffedQN27cOJWWltq3d955pzkuBwAAtAKGB6D09HTNmDFDSUlJ6t+/v7KystS+fXtlZ2c3WP/222/rd7/7nSIiItSvXz+99dZbqqurU15enkOdp6enAgMD7VunTp2a43IAAEArYGgAqqmp0cGDBxUdHW0fc3NzU3R0tAoKCq5pjh9//FFXrlxR586dHcbz8/Pl7++vvn376qmnntKFCxcanaO6uloVFRUOGwAAaLsMDUDnz59XbW2tAgICHMYDAgJktVqvaY4//vGPCg4OdghR48aN05o1a5SXl6fFixdr586dio2NVW1tbYNzpKWlyc/Pz76FhIRc/0UBAIAWr53RDdyIRYsWad26dcrPz5eXl5d9fPLkyfZ/HjRokMLCwnT77bcrPz9fY8aMqTdPamqqUlJS7PsVFRWEIAAA2jBD7wB17dpV7u7uKisrcxgvKytTYGDgVc995ZVXtGjRIn300UcKCwu7au1tt92mrl27qqioqMHjnp6e8vX1ddgAAEDbZWgA8vDw0NChQx0WMP+yoDkqKqrR85YsWaIFCxYoNzdXw4YN+9Wfc/r0aV24cEFBQUFN0jcAAGjdDH8KLCUlRW+++aZWr16tr7/+Wk899ZSqqqqUlJQkSUpMTFRqaqq9fvHixXruueeUnZ2t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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 800x600 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import thinkplot\n",
    "\n",
    "thinkplot.Hist(hist)\n",
    "thinkplot.Show(xlabel='value', ylabel='frequency')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "832a9a1e",
   "metadata": {},
   "source": [
    "You can read the documentation for `thinkplot` at\n",
    "<http://greenteapress.com/thinkstats2/thinkplot.html>."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f3aa1263",
   "metadata": {},
   "source": [
    "## NSFG variables\n",
    "\n",
    "Now let's get back to the data from the NSFG. The code in this chapter\n",
    "is in `first.py`. For information about downloading and working with\n",
    "this code, see Section [\\[code\\]](#code){reference-type=\"ref\"\n",
    "reference=\"code\"}.\n",
    "\n",
    "When you start working with a new dataset, I suggest you explore the\n",
    "variables you are planning to use one at a time, and a good way to start\n",
    "is by looking at histograms.\n",
    "\n",
    "In Section [\\[cleaning\\]](#cleaning){reference-type=\"ref\"\n",
    "reference=\"cleaning\"} we transformed `agepreg` from centiyears to years,\n",
    "and combined `birthwgt_lb` and `birthwgt_oz` into a single quantity,\n",
    "`totalwgt_lb`. In this section I use these variables to demonstrate some\n",
    "features of histograms.\n",
    "\n",
    "![Histogram of mother's age at end of\n",
    "pregnancy.](figs/first_agepreg_hist.pdf){height=\"2.5in\"}\n",
    "\n",
    "I'll start by reading the data and selecting records for live births:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "32e122bf",
   "metadata": {},
   "outputs": [],
   "source": [
    "from nsfg import ReadFemPreg\n",
    "\n",
    "preg = ReadFemPreg()\n",
    "live = preg[preg.outcome == 1]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cd02a26b",
   "metadata": {},
   "source": [
    "The expression in brackets is a boolean Series that selects rows from\n",
    "the DataFrame and returns a new DataFrame. Next I generate and plot the\n",
    "histogram of `birthwgt_lb` for live births."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "114aec3c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkYAAAGwCAYAAABM/qr1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA5o0lEQVR4nO3de1RVdf7/8dfhchBMQFBuCUp5xWt5Zbxhmqhkms5M5gU103EGSiXN8ftVc7LJsrylptNkYivt9p10SktFFM1ETRRvNWhmYiHgpIKaIpfz+6PN+XXyEscOHMDnY629lnvvz9n7/QE7vvrsz97bZLFYLAIAAIBcnF0AAABAZUEwAgAAMBCMAAAADAQjAAAAA8EIAADAQDACAAAwEIwAAAAMbs4uoCooKSlRVlaWatWqJZPJ5OxyAABAGVgsFl28eFEhISFycSnbWBDBqAyysrIUGhrq7DIAAMBtOH36tOrVq1emtgSjMqhVq5akn36w3t7eTq4GAACURX5+vkJDQ63/jpcFwagMSi+feXt7E4wAAKhi7JkGw+RrAAAAA8EIAADAQDACAAAwMMcIAFBtFBcXq7Cw0NlloAKZzeYy34pfFgQjAECVZ7FYlJ2drQsXLji7FFQwFxcXhYeHy2w2O+R4BCMAQJVXGooCAgLk5eXFw3jvEKUPYD5z5ozCwsIc8nsnGAEAqrTi4mJrKPL393d2OahgdevWVVZWloqKiuTu7v6bj8fkawBAlVY6p8jLy8vJlcAZSi+hFRcXO+R4BCMAQLXA5bM7k6N/7wQjAAAAA8EIAADAwORrAEC1Ff/8OxV6viXTH7OrfVRUlNq0aaOFCxfecH+DBg00ceJETZw40e5afu3YlUFKSop69Oih8+fPy9fXV4mJiZo4caJTH7vAiBEAAJXUF198oXHjxt2yTUpKikwmU6V4hlNUVNRthbjKhBEjAAAqqbp1695yP0/5djxGjAAAcKKioiLFx8fLx8dHderU0YwZM2SxWCT9dCnt55fCTCaTli1bpocfflg1a9bU2LFj1aNHD0lS7dq1ZTKZNGrUKGv7kpISPfPMM/Lz81NQUJBmzZpl3Td58mQ99NBD1vWFCxfKZDJp48aN1m0NGzbUG2+8Ya3zqaeekq+vr/z9/TV16lSNHDlSAwcOlCSNGjVK27dv16JFi2QymWQymfTtt9/e1s9k3bp1atSokWrUqKHo6GidPn36to5zOxgxAlApVdTcEHvnhACOtmrVKo0ZM0Z79+7Vvn37NG7cOIWFhWns2LE3bD9r1iy9+OKLWrhwoVxdXfXwww9r8ODBysjIkLe3tzw9PW2OnZCQoD179ig1NVWjRo1S586d9eCDD6p79+564403VFxcLFdXV23fvl116tRRSkqK+vTpo++//14nTpxQVFSUJOmll17S6tWrtXLlSjVr1kyLFi3SunXrrMFs0aJFOnbsmFq0aKHnnntO0q+PeN3Ijz/+qL///e966623ZDab9Ze//EVDhgzR559/bvexbgfBCAAAJwoNDdWCBQtkMpnUpEkTHT58WAsWLLhpMBo6dKhGjx5tXT958qQkKSAgQL6+vjZtW7VqpWeffVaS1KhRIy1ZskTJycl68MEH1bVrV128eFEHDhxQ27ZttWPHDk2ZMkXr1q2T9NPcpbvvvlsNGzaUJC1evFjTpk3TI488IklasmSJPvnkE+u5fHx8ZDab5eXlpaCgoNv+eRQWFmrJkiXq2LGjpJ/CXbNmzbR371516NDhto9bVk69lLZs2TK1atVK3t7e8vb2VmRkpD799FPr/qtXryouLk7+/v666667NHjwYOXk5NgcIzMzUzExMfLy8lJAQICmTJmioqIimzYpKSm6//775eHhoYYNGyoxMbEiugcAwK/q1KmTzUMKIyMjdfz48Zs+ybldu3ZlPnarVq1s1oODg5WbmytJ8vX1VevWrZWSkqLDhw/LbDZr3LhxOnDggC5duqTt27ere/fukqS8vDzl5OTYBBNXV1e1bdu2zLWUlZubm9q3b29db9q0qXx9ffXVV185/Fw34tRgVK9ePb344otKS0vTvn379MADD2jAgAE6evSoJGnSpEn6+OOP9cEHH2j79u3KysrSoEGDrJ8vLi5WTEyMrl27pl27dmnVqlVKTEzUzJkzrW1OnjypmJgY9ejRQ+np6Zo4caKeeOIJbdq0qcL7CwDAb1WzZs0yt/3lu8NMJpNKSkqs61FRUUpJSbGGID8/PzVr1kw7d+60CUZ3EqcGo/79+6tfv35q1KiRGjdurL///e+66667tHv3buXl5WnFihWaP3++HnjgAbVt21YrV67Url27tHv3bknS5s2b9eWXX+rtt99WmzZt1LdvX82ePVtLly7VtWvXJEnLly9XeHi45s2b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ZmbKy8vLuv3RRx/Vxo0bHVocAABARbJ7jtHmzZu1adMm1atXz2Z7o0aNdOrUKYcVBgAAUNHsHjG6fPmyzUhRqXPnztncLQYAAFDV2B2Munbtqrfeesu6bjKZVFJSorlz59rceg8AAFDV2H0pbe7cuerZs6f27duna9eu6ZlnntHRo0d17tw5ff755+VRIwAAQIWwe8SoRYsWOnbsmLp06aIBAwbo8uXLGjRokA4cOKB77723PGoEAACoEHaNGBUWFqpPnz5avny5/vd//7e8agIAAHAKu0aM3N3ddejQofKqBQAAwKnsvpQ2fPhwrVixojxqAQAAcCq7J18XFRXpzTff1JYtW9S2bdvr3pE2f/58hxUHAABQkcoUjA4dOqQWLVrIxcVFR44c0f333y9JOnbsmE07k8nk+AoBAAAqSJmC0X333aczZ84oICBAp06d0hdffCF/f//yrg0AAKBClWmOka+vr06ePClJ+vbbb1VSUlKuRQEAADhDmUaMBg8erO7duys4OFgmk0nt2rWTq6vrDdt+8803Di0QAACgopQpGL3++usaNGiQvv76az311FMaO3asatWqVd61AQAAVKgy35XWp08fSVJaWpomTJhAMAIAANWO3bfrr1y5sjzqAAAAcDq7H/AIAABQXRGMAAAADAQjAAAAA8EIAADAQDACAAAwEIwAAAAMBCMAAAADwQgAAMBAMAIAADAQjAAAAAwEIwAAAAPBCAAAwEAwAgAAMBCMAAAADAQjAAAAA8EIAADAQDACAAAwEIwAAAAMBCMAAAADwQgAAMBAMAIAADAQjAAAAAwEIwAAAAPBCAAAwEAwAgAAMBCMAAAADAQjAAAAA8EIAADA4NRgtGPHDvXv318hISEymUxat26dzX6LxaKZM2cqODhYnp6e6tWrl44fP27T5ty5cxo2bJi8vb3l6+urMWPG6NKlSzZtDh06pK5du6pGjRoKDQ3V3Llzy7trAACgCnJqMLp8+bJat26tpUuX3nD/3Llz9eqrr2r58uXas2ePatasqejoaF29etXaZtiwYTp69KiSkpK0fv167dixQ+PGjbPuz8/PV+/evVW/fn2lpaXp5Zdf1qxZs/T666+Xe/8AAEDV4ubMk/ft21d9+/a94T6LxaKFCxdq+vTpGjBggCTprbfeUmBgoNatW6chQ4boq6++0saNG/XFF1+o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nV2KQ33//fcaPny4/P395enpqZYtW2rfvn3OLsthiouLNWPGDIWHh8vT01P33nuvZs+ebd+7mCqZHTt2qH///goJCZHJZNK6dets9lssFs2cOVPBwcHy9PRUr169dPz4cecUe5tu1cfCwkJNnTpVLVu2VM2aNRUSEqLY2FhlZWU5r2A7/drv8OfGjx8vk8mkhQsXVlh9jlCWPn711Vd6+OGH5ePjo5o1a6p9+/bKzMy06zwEoyrkvffeU0JCgp599lnt379frVu3VnR0tHJzc51dmkNs375dcXFx2r17t5KSklRYWKjevXvr8uXLzi7N4b744gv94x//UKtWrZxdikOdP39enTt3lru7uz799FN9+eWXmjdvnmrXru3s0hzmpZde0rJly7RkyRJ99dVXeumllzR37lwtXrzY2aXdtsuXL6t169ZaunTpDffPnTtXr776qpYvX649e/aoZs2aio6O1tWrVyu40tt3qz7++OOP2r9/v2bMmKH9+/frww8/VEZGhh5++GEnVHp7fu13WGrt2rXavXu3Xa/IqCx+rY8nTpxQly5d1LRpU6WkpOjQoUOaMWOGatSoYd+JfsvLWVGxOnToYImLi7OuFxcXW0JCQixz5sxxYlXlJzc31yLJsn37dmeX4lAXL160NGrUyJKUlGTp3r27ZcKECc4uyWGmTp1q6dKli7PLKFcxMTGWxx9/3GbboEGDLMOGDXNSRY4lybJ27VrreklJiSUoKMjy8ssvW7dduHDB4uHhYXnnnXecUOFv98s+3sjevXstkiynTp2qmKIc6Gb9++677yx333235ciRI5b69etbFixYUOG1OcqN+vjoo49ahg8f/puPzYhRFXHt2jWlpaWpV69e1m0uLi7q1auXUlNTnVhZ+cnLy5Mk+fn5ObkSx4qLi1NMTIzN77K6+Oijj9SuXTv94Q9/UEBAgO677z7985//dHZZDvW73/1OycnJOnbsmCTp4MGD2rlzp/r27evkysrHyZMnlZ2dbfP31cfHRx07dqy23z3ST98/JpOpUr4n83aUlJRoxIgRmjJlipo3b+7schyupKREGzZsUOPGjRUdHa2AgAB17NjxlpcUb4ZgVEX897//VXFx8XVP6g4MDFR2draTqio/JSUlmjhxojp37qwWLVo4uxyHeffdd7V//37NmTPH2aWUi2+++UbLli1To0aNtGnTJv35z3/WU089pVWrVjm7NIf561//qiFDhqhp06Zyd3fXfffdp4kTJ2rYsGHOLq1clH6/3CnfPZJ09epVTZ06VY899li1eenqSy+9JDc3Nz311FPOLqVc5Obm6tKlS3rxxRfVp08fbd68WY888ogGDRqk7du323WsO+aVIKha4uLidOTIEe3cudPZpTjM6dOnNWHCBCUlJdl/zbuKKCkpUbt27fTCCy9Iku677z4dOXJEy5cv18iRI51cnWO8//77Wr16tdasWaPmzZsrPT1dEydOVEhISLXp452ssLBQf/zjH2WxWLRs2TJnl+MQaWlpWrRokfbv3y+TyeTscspFSUmJJGnAgAGaNGmSJKlNmzbatWuXli9fru7du5f5WIwYVRF16tSRq6urcnJybLbn5OQoKCjISVWVj/j4eK1fv17btm1TvXr1nF2Ow6SlpSk3N1f333+/3Nzc5Obmpu3bt+vVV1+Vm5ubiouLnV3ibxYcHKyIiAibbc2aNbP7rpDKbMqUKdZRo5YtW2rEiBGaNGlStR0FLP1+uRO+e0pD0alTp5SUlFRtRos+++wz5ebmKiwszPrdc+rUKT399NNq0KCBs8tziDp16sjNzc0h3z8EoyrCbDarbdu2Sk5Otm4rKSlRcnKyIiMjnViZ41gsFsXHx2vt2rXaunWrwsPDnV2SQ/Xs2VOHDx9Wenq6dWnXrp2GDRum9PR0ubq6OrvE36xz587XPWLh2LFjql+/vpMqcrwff/xRLi62X52urq7W/2OtbsLDwxUUFGTz3ZOfn689e/ZUm+8e6f+HouPHj2vLli3y9/d3dkkOM2LECB06dMjmuyckJERTpkzRpk2bnF2eQ5jNZrVv394h3z9cSqtCEhISNHLkSLVr104dOnTQwoULdfnyZY0ePdrZpTlEXFyc1qxZo3//+9+qVauWdf6Cj4+PPD09nVzdb1erVq3r5kvVrFlT/v7+1WYe1aRJk/S73/1OL7zwgv74xz9q7969ev311/X66687uzSH6d+/v/7+978rLCxMzZs314EDBzR//nw9/vjjzi7ttl26dElff/21df3kyZNKT0+Xn5+fwsLCNHHiRD3//PNq1KiRwsPDNWPGDIWEhGjgwIHOK9pOt+pjcHCwfv/732v//v1av369iouLrd8/fn5+MpvNziq7zH7td/jLoOfu7q6goCA1adKkoku9bb/WxylTpujRRx9Vt27d1KNHD23cuFEff/yxUlJS7DvRb76vDRVq8eLFlrCwMIvZbLZ06NDBsnv3bmeX5DCSbrisXLnS2aWVm+p2u77FYrF8/PHHlhYtWlg8PDwsTZs2tbz++uvOLsmh8vPzLRMmTLCEhYVZatSoYbnnnnss//u//2spKChwdmm3bdu2bTf8b2/kyJEWi+WnW/ZnzJhhCQwMtHh4eFh69uxpycjIcG7RdrpVH0+ePHnT759t27Y5u/Qy+bXf4S9Vxdv1y9LHFStWWBo2bGipUaOGpXXr1pZ169bZfR6TxVKFH9cKAADgQMwxAgAAMBCMAAAADAQjAAAAA8EIAADAQDACAAAwEIwAAAAMBCMAAAADwQgAAMBAMAKA36BBgwZauHChs8sA4CAEIwAAAAPBCAAAwEAwAlDpRUVFKT4+XvHx8fLx8VGdOnU0Y8YMlb7q8fz584qNjVXt2rXl5eWlvn376vjx49bPz5o1S23atLE55sKFC9WgQQPr+qhRozRw4EC98sorCg4Olr+/v+Li4lRYWGhtk5ubq/79+8vT01Ph4eFavXq1zTEtFotmzZqlsLAweXh4KCQkRE899ZTjfyAAyo2bswsAgLJYtWqVxowZo71792rfvn0aN26cwsLCNHbsWI0aNUrHjx/XRx99JG9vb02dOlX9+vXTl19+KXd39zKfY9u2bQoODta2bdv09ddf69FHH1WbNm00duxYST+Fp6ysLG3btk3u7u566qmnlJuba/38v/71Ly1YsEDvvvuumjdvruzsbB08eNDhPwsA5YdgBKBKCA0N1YIFC2QymdSkSRMdPnxYCxYsUFRUlD766CN9/vnn+t3vfidJWr16tUJDQ7Vu3Tr94Q9/KPM5ateurSVLlsjV1VVNmzZVTEyMkpOTNXbsWB07dkyffvqp9u7dq/bt20uSVqxYoWbNmlk/n5mZqaCgIPXq1Uvu7u4KCwtThw4dHPuDAFCuuJQGoEro1KmTTCaTdT0yMlLHjx/Xl19+KTc3N3Xs2NG6z9/fX02aNNFXX31l1zmaN28uV1dX63pwcLB1ROirr76Sm5ub2rZta93ftGlT+fr6Wtf/8Ic/6MqVK7rnnns0duxYrV27VkVFRfZ2FYATEYwAVHsuLi7W+Uilfj53qNQvL7uZTCaVlJSU+TyhoaHKyMjQa6+9Jk9PT/3lL39Rt27dbnguAJUTwQhAlbBnzx6b9d27d6tRo0aKiIhQUVGRzf4ffvhBGRkZioiIkCTVrVtX2dnZNuEoPT3drvM3bdpURUVFSktLs27LyMjQhQsXbNp5enqqf//+evXVV5WSkqLU1FQdPnzYrnMBcB6CEYAqITMzUwkJCcrIyNA777yjxYsXa8KECWrUqJEGDBigsWPHaufOnTp48KCGDx+uu+++WwMGDJD0011tZ8+e1dy5c3XixAktXbpUn376qV3nb9Kkifr06aM//elP2rNnj9LS0vTEE0/I09PT2iYxMVErVqzQkSNH9M033+jtt9+Wp6en6tev79CfBYDyQzACUCXExsbqypUr6tChg+Li4jRhwgSNGzdOkrRy5Uq1bdtWDz30kCIjI2WxWPTJJ59YL401a9ZMr732mpYuXarWrVtr7969mjx5st01rFy5UiEhIerevbsGDRqkcePGKSAgwLrf19dX//znP9W5c2e1atVKW7Zs0ccffyx/f3/H/BAAlDuT5ZcX3gGgkomKilKbNm149QaAcseIEQAAgIFgBAAAYOBSGgAAgIERIwAAAAPBCAAAwEAwAgAAMBCMAAAADAQjAAAAA8EIAADAQDACAAAwEIwAAAAM/w/GTUUy2z5mTwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 800x600 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "hist = Hist(live.birthwgt_lb, label='birthwgt_lb')\n",
    "thinkplot.Hist(hist)\n",
    "thinkplot.Show(xlabel='pounds', ylabel='frequency')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c742286d",
   "metadata": {},
   "source": [
    "When the argument passed to Hist is a pandas Series, any `nan` values\n",
    "are dropped. `label` is a string that appears in the legend when the\n",
    "Hist is plotted.\n",
    "\n",
    "![Histogram of pregnancy length in\n",
    "weeks.](figs/first_prglngth_hist.pdf){height=\"2.5in\"}\n",
    "\n",
    "Figure [\\[first_wgt_lb_hist\\]](#first_wgt_lb_hist){reference-type=\"ref\"\n",
    "reference=\"first_wgt_lb_hist\"} shows the result. The most common value,\n",
    "called the **mode**, is 7 pounds. The distribution is approximately\n",
    "bell-shaped, which is the shape of the **normal** distribution, also\n",
    "called a **Gaussian** distribution. But unlike a true normal\n",
    "distribution, this distribution is asymmetric; it has a **tail** that\n",
    "extends farther to the left than to the right.\n",
    "\n",
    "Figure [\\[first_wgt_oz_hist\\]](#first_wgt_oz_hist){reference-type=\"ref\"\n",
    "reference=\"first_wgt_oz_hist\"} shows the histogram of `birthwgt_oz`,\n",
    "which is the ounces part of birth weight. In theory we expect this\n",
    "distribution to be **uniform**; that is, all values should have the same\n",
    "frequency. In fact, 0 is more common than the other values, and 1 and 15\n",
    "are less common, probably because respondents round off birth weights\n",
    "that are close to an integer value.\n",
    "\n",
    "Figure [\\[first_agepreg_hist\\]](#first_agepreg_hist){reference-type=\"ref\"\n",
    "reference=\"first_agepreg_hist\"} shows the histogram of `agepreg`, the\n",
    "mother's age at the end of pregnancy. The mode is 21 years. The\n",
    "distribution is very roughly bell-shaped, but in this case the tail\n",
    "extends farther to the right than left; most mothers are in their 20s,\n",
    "fewer in their 30s.\n",
    "\n",
    "Figure [\\[first_prglngth_hist\\]](#first_prglngth_hist){reference-type=\"ref\"\n",
    "reference=\"first_prglngth_hist\"} shows the histogram of `prglngth`, the\n",
    "length of the pregnancy in weeks. By far the most common value is 39\n",
    "weeks. The left tail is longer than the right; early babies are common,\n",
    "but pregnancies seldom go past 43 weeks, and doctors often intervene if\n",
    "they do.\n",
    "\n",
    "## Outliers\n",
    "\n",
    "Looking at histograms, it is easy to identify the most common values and\n",
    "the shape of the distribution, but rare values are not always visible.\n",
    "\n",
    "Before going on, it is a good idea to check for **outliers**, which are\n",
    "extreme values that might be errors in measurement and recording, or\n",
    "might be accurate reports of rare events.\n",
    "\n",
    "Hist provides methods `Largest` and `Smallest`, which take an integer\n",
    "`n` and return the `n` largest or smallest values from the histogram:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "fdbe321f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.0 8\n",
      "1.0 40\n",
      "2.0 53\n",
      "3.0 98\n",
      "4.0 229\n",
      "5.0 697\n",
      "6.0 2223\n",
      "7.0 3049\n",
      "8.0 1889\n",
      "9.0 623\n"
     ]
    }
   ],
   "source": [
    "for weeks, freq in hist.Smallest(10):\n",
    "    print(weeks, freq)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8d0885b6",
   "metadata": {},
   "source": [
    "In the list of pregnancy lengths for live births, the 10 lowest values\n",
    "are `[0, 4, 9, 13, 17, 18, 19, 20, 21, 22]`. Values below 10 weeks are\n",
    "certainly errors; the most likely explanation is that the outcome was\n",
    "not coded correctly. Values higher than 30 weeks are probably\n",
    "legitimate. Between 10 and 30 weeks, it is hard to be sure; some values\n",
    "are probably errors, but some represent premature babies.\n",
    "\n",
    "On the other end of the range, the highest values are:"
   ]
  },
  {
   "cell_type": "raw",
   "id": "474afa54",
   "metadata": {},
   "source": [
    "weeks  count\n",
    "43     148\n",
    "44     46\n",
    "45     10\n",
    "46     1\n",
    "47     1\n",
    "48     7\n",
    "50     2"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ed8019a0",
   "metadata": {},
   "source": [
    "Most doctors recommend induced labor if a pregnancy exceeds 42 weeks, so\n",
    "some of the longer values are surprising. In particular, 50 weeks seems\n",
    "medically unlikely.\n",
    "\n",
    "The best way to handle outliers depends on \"domain knowledge\"; that is,\n",
    "information about where the data come from and what they mean. And it\n",
    "depends on what analysis you are planning to perform.\n",
    "\n",
    "In this example, the motivating question is whether first babies tend to\n",
    "be early (or late). When people ask this question, they are usually\n",
    "interested in full-term pregnancies, so for this analysis I will focus\n",
    "on pregnancies longer than 27 weeks.\n",
    "\n",
    "## First babies\n",
    "\n",
    "Now we can compare the distribution of pregnancy lengths for first\n",
    "babies and others. I divided the DataFrame of live births using\n",
    "`birthord`, and computed their histograms:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "0be43f7f",
   "metadata": {},
   "outputs": [],
   "source": [
    "firsts = live[live.birthord == 1]\n",
    "others = live[live.birthord != 1]\n",
    "\n",
    "first_hist = Hist(firsts.prglngth, label='first')\n",
    "other_hist = Hist(others.prglngth, label='other')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "53df72ac",
   "metadata": {},
   "source": [
    "Then I plotted their histograms on the same axis:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "2f668802",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 800x600 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "width = 0.45\n",
    "thinkplot.PrePlot(2)\n",
    "thinkplot.Hist(first_hist, align='right', width=width)\n",
    "thinkplot.Hist(other_hist, align='left', width=width)\n",
    "thinkplot.Show(xlabel='weeks', ylabel='frequency',\n",
    "               xlim=[27, 46])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ea5a5abc",
   "metadata": {},
   "source": [
    "`thinkplot.PrePlot` takes the number of histograms we are planning to\n",
    "plot; it uses this information to choose an appropriate collection of\n",
    "colors.\n",
    "\n",
    "![Histogram of pregnancy\n",
    "lengths.](figs/first_nsfg_hist.pdf){height=\"2.5in\"}\n",
    "\n",
    "`thinkplot.Hist` normally uses `align='center'` so that each bar is\n",
    "centered over its value. For this figure, I use `align='right'` and\n",
    "`align='left'` to place corresponding bars on either side of the value.\n",
    "\n",
    "With `width=0.45`, the total width of the two bars is 0.9, leaving some\n",
    "space between each pair.\n",
    "\n",
    "Finally, I adjust the axis to show only data between 27 and 46 weeks.\n",
    "Figure [\\[first_nsfg_hist\\]](#first_nsfg_hist){reference-type=\"ref\"\n",
    "reference=\"first_nsfg_hist\"} shows the result.\n",
    "\n",
    "Histograms are useful because they make the most frequent values\n",
    "immediately apparent. But they are not the best choice for comparing two\n",
    "distributions. In this example, there are fewer \"first babies\" than\n",
    "\"others,\" so some of the apparent differences in the histograms are due\n",
    "to sample sizes. In the next chapter we address this problem using\n",
    "probability mass functions.\n",
    "\n",
    "## Summarizing distributions\n",
    "\n",
    "A histogram is a complete description of the distribution of a sample;\n",
    "that is, given a histogram, we could reconstruct the values in the\n",
    "sample (although not their order).\n",
    "\n",
    "If the details of the distribution are important, it might be necessary\n",
    "to present a histogram. But often we want to summarize the distribution\n",
    "with a few descriptive statistics.\n",
    "\n",
    "Some of the characteristics we might want to report are:\n",
    "\n",
    "-   central tendency: Do the values tend to cluster around a particular\n",
    "    point?\n",
    "\n",
    "-   modes: Is there more than one cluster?\n",
    "\n",
    "-   spread: How much variability is there in the values?\n",
    "\n",
    "-   tails: How quickly do the probabilities drop off as we move away\n",
    "    from the modes?\n",
    "\n",
    "-   outliers: Are there extreme values far from the modes?\n",
    "\n",
    "Statistics designed to answer these questions are called **summary\n",
    "statistics**. By far the most common summary statistic is the **mean**,\n",
    "which is meant to describe the central tendency of the distribution.\n",
    "\n",
    "If you have a sample of `n` values, $x_i$, the mean, $\\xbar$, is the sum\n",
    "of the values divided by the number of values; in other words\n",
    "$$\\xbar = \\frac{1}{n} \\sum_i x_i$$ The words \"mean\" and \"average\" are\n",
    "sometimes used interchangeably, but I make this distinction:\n",
    "\n",
    "-   The \"mean\" of a sample is the summary statistic computed with the\n",
    "    previous formula.\n",
    "\n",
    "-   An \"average\" is one of several summary statistics you might choose\n",
    "    to describe a central tendency.\n",
    "\n",
    "Sometimes the mean is a good description of a set of values. For\n",
    "example, apples are all pretty much the same size (at least the ones\n",
    "sold in supermarkets). So if I buy 6 apples and the total weight is 3\n",
    "pounds, it would be a reasonable summary to say they are about a half\n",
    "pound each.\n",
    "\n",
    "But pumpkins are more diverse. Suppose I grow several varieties in my\n",
    "garden, and one day I harvest three decorative pumpkins that are 1 pound\n",
    "each, two pie pumpkins that are 3 pounds each, and one Atlantic\n",
    "Giant pumpkin that weighs 591 pounds. The mean of this sample is 100\n",
    "pounds, but if I told you \"The average pumpkin in my garden is 100\n",
    "pounds,\" that would be misleading. In this example, there is no\n",
    "meaningful average because there is no typical pumpkin.\n",
    "\n",
    "## Variance\n",
    "\n",
    "If there is no single number that summarizes pumpkin weights, we can do\n",
    "a little better with two numbers: mean and **variance**.\n",
    "\n",
    "Variance is a summary statistic intended to describe the variability or\n",
    "spread of a distribution. The variance of a set of values is\n",
    "$$S^2 = \\frac{1}{n} \\sum_i (x_i - \\xbar)^2$$ The term $x_i - \\xbar$ is\n",
    "called the \"deviation from the mean,\" so variance is the mean squared\n",
    "deviation. The square root of variance, $S$, is the **standard\n",
    "deviation**.\n",
    "\n",
    "If you have prior experience, you might have seen a formula for variance\n",
    "with $n-1$ in the denominator, rather than `n`. This statistic is used\n",
    "to estimate the variance in a population using a sample. We will come\n",
    "back to this in\n",
    "Chapter [\\[estimation\\]](#estimation){reference-type=\"ref\"\n",
    "reference=\"estimation\"}.\n",
    "\n",
    "Pandas data structures provides methods to compute mean, variance and\n",
    "standard deviation:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "dfa080dd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "38.56055968517709"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mean = live.prglngth.mean()\n",
    "mean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "c3da2a84",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7.302662067826817"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "var = live.prglngth.var()\n",
    "var"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "8fac18bb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.702343810070587"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "std = live.prglngth.std()\n",
    "std"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "72c5526f",
   "metadata": {},
   "source": [
    "For all live births, the mean pregnancy length is 38.6 weeks, the\n",
    "standard deviation is 2.7 weeks, which means we should expect deviations\n",
    "of 2-3 weeks to be common.\n",
    "\n",
    "Variance of pregnancy length is 7.3, which is hard to interpret,\n",
    "especially since the units are weeks$^2$, or \"square weeks.\" Variance is\n",
    "useful in some calculations, but it is not a good summary statistic.\n",
    "\n",
    "## Effect size\n",
    "\n",
    "An **effect size** is a summary statistic intended to describe (wait for\n",
    "it) the size of an effect. For example, to describe the difference\n",
    "between two groups, one obvious choice is the difference in the means.\n",
    "\n",
    "Mean pregnancy length for first babies is 38.601; for other babies it is\n",
    "38.523. The difference is 0.078 weeks, which works out to 13 hours. As a\n",
    "fraction of the typical pregnancy length, this difference is about 0.2%.\n",
    "\n",
    "If we assume this estimate is accurate, such a difference would have no\n",
    "practical consequences. In fact, without observing a large number of\n",
    "pregnancies, it is unlikely that anyone would notice this difference at\n",
    "all.\n",
    "\n",
    "Another way to convey the size of the effect is to compare the\n",
    "difference between groups to the variability within groups. Cohen's $d$\n",
    "is a statistic intended to do that; it is defined\n",
    "$$d = \\frac{\\bar{x_1} - \\bar{x_2}}{s}$$ where $\\bar{x_1}$ and\n",
    "$\\bar{x_2}$ are the means of the groups and $s$ is the \"pooled standard\n",
    "deviation\". Here's the Python code that computes Cohen's $d$:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "0cecadaa",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "def CohenEffectSize(group1, group2):\n",
    "    diff = group1.mean() - group2.mean()\n",
    "\n",
    "    var1 = group1.var()\n",
    "    var2 = group2.var()\n",
    "    n1, n2 = len(group1), len(group2)\n",
    "\n",
    "    pooled_var = (n1 * var1 + n2 * var2) / (n1 + n2)\n",
    "    d = diff / np.sqrt(pooled_var)\n",
    "    return d"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bd8c1b97",
   "metadata": {},
   "source": [
    "In this example, the difference in means is 0.029 standard deviations,\n",
    "which is small. To put that in perspective, the difference in height\n",
    "between men and women is about 1.7 standard deviations (see\n",
    "<https://en.wikipedia.org/wiki/Effect_size>)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9d070d5e",
   "metadata": {},
   "source": [
    "## Reporting results\n",
    "\n",
    "We have seen several ways to describe the difference in pregnancy length\n",
    "(if there is one) between first babies and others. How should we report\n",
    "these results?\n",
    "\n",
    "The answer depends on who is asking the question. A scientist might be\n",
    "interested in any (real) effect, no matter how small. A doctor might\n",
    "only care about effects that are **clinically significant**; that is,\n",
    "differences that affect treatment decisions. A pregnant woman might be\n",
    "interested in results that are relevant to her, like the probability of\n",
    "delivering early or late.\n",
    "\n",
    "How you report results also depends on your goals. If you are trying to\n",
    "demonstrate the importance of an effect, you might choose summary\n",
    "statistics that emphasize differences. If you are trying to reassure a\n",
    "patient, you might choose statistics that put the differences in\n",
    "context.\n",
    "\n",
    "Of course your decisions should also be guided by professional ethics.\n",
    "It's ok to be persuasive; you *should* design statistical reports and\n",
    "visualizations that tell a story clearly. But you should also do your\n",
    "best to make your reports honest, and to acknowledge uncertainty and\n",
    "limitations.\n",
    "\n",
    "## Exercises\n",
    "\n",
    "### Exercise\n",
    "Based on the results in this chapter, suppose you were asked to\n",
    "summarize what you learned about whether first babies arrive late.\n",
    "\n",
    "Which summary statistics would you use if you wanted to get a story on\n",
    "the evening news? Which ones would you use if you wanted to reassure an\n",
    "anxious patient?\n",
    "\n",
    "Finally, imagine that you are Cecil Adams, author of *The Straight Dope*\n",
    "(<http://straightdope.com>), and your job is to answer the question, \"Do\n",
    "first babies arrive late?\" Write a paragraph that uses the results in\n",
    "this chapter to answer the question clearly, precisely, and honestly.\n",
    "\n",
    "\n",
    "### Exercise\n",
    "In the repository you downloaded, you should find a file named\n",
    "`chap02ex.ipynb`; open it. Some cells are already filled in, and you\n",
    "should execute them. Other cells give you instructions for exercises.\n",
    "Follow the instructions and fill in the answers.\n",
    "\n",
    "A solution to this exercise is in `chap02soln.ipynb`\n",
    "\n",
    "\n",
    "In the repository you downloaded, you should find a file named\n",
    "`chap02ex.py`; you can use this file as a starting place for the\n",
    "following exercises. My solution is in `chap02soln.py`.\n",
    "\n",
    "### Exercise\n",
    "The mode of a distribution is the most frequent value; see\n",
    "<http://wikipedia.org/wiki/Mode_(statistics)>. Write a function called\n",
    "`Mode` that takes a Hist and returns the most frequent value.\n",
    "\n",
    "As a more challenging exercise, write a function called `AllModes` that\n",
    "returns a list of value-frequency pairs in descending order of\n",
    "frequency.\n",
    "\n",
    "\n",
    "### Exercise\n",
    "Using the variable `totalwgt_lb`, investigate whether first babies are\n",
    "lighter or heavier than others. Compute Cohen's $d$ to quantify the\n",
    "difference between the groups. How does it compare to the difference in\n",
    "pregnancy length?\n",
    "\n",
    "\n",
    "## Glossary\n",
    "\n",
    "-   **distribution**: The values that appear in a sample and the\n",
    "    frequency of each.\n",
    "\n",
    "-   **histogram**: A mapping from values to frequencies, or a graph that\n",
    "    shows this mapping.\n",
    "\n",
    "-   **frequency**: The number of times a value appears in a sample.\n",
    "\n",
    "-   **mode**: The most frequent value in a sample, or one of the most\n",
    "    frequent values.\n",
    "\n",
    "-   **normal distribution**: An idealization of a bell-shaped\n",
    "    distribution; also known as a Gaussian distribution.\n",
    "\n",
    "-   **uniform distribution**: A distribution in which all values have\n",
    "    the same frequency.\n",
    "\n",
    "-   **tail**: The part of a distribution at the high and low extremes.\n",
    "\n",
    "-   **central tendency**: A characteristic of a sample or population;\n",
    "    intuitively, it is an average or typical value.\n",
    "\n",
    "-   **outlier**: A value far from the central tendency.\n",
    "\n",
    "-   **spread**: A measure of how spread out the values in a distribution\n",
    "    are.\n",
    "\n",
    "-   **summary statistic**: A statistic that quantifies some aspect of a\n",
    "    distribution, like central tendency or spread.\n",
    "\n",
    "-   **variance**: A summary statistic often used to quantify spread.\n",
    "\n",
    "-   **standard deviation**: The square root of variance, also used as a\n",
    "    measure of spread.\n",
    "\n",
    "-   **effect size**: A summary statistic intended to quantify the size\n",
    "    of an effect like a difference between groups.\n",
    "\n",
    "-   **clinically significant**: A result, like a difference between\n",
    "    groups, that is relevant in practice."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "65b9f818",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## Exercises"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b8f8d29d",
   "metadata": {},
   "source": [
    "Using the variable `totalwgt_lb`, investigate whether first babies are lighter or heavier than others. \n",
    "\n",
    "Compute Cohen’s effect size to quantify the difference between the groups.  How does it compare to the difference in pregnancy length?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "018bdb7d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(7.201094430437772, 7.325855614973262)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "firsts.totalwgt_lb.mean(), others.totalwgt_lb.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "67b2718d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.08867292707260174"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "CohenEffectSize(firsts.totalwgt_lb, others.totalwgt_lb)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "86f4893b",
   "metadata": {},
   "source": [
    "For the next few exercises, we'll load the respondent file:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "6261b596",
   "metadata": {},
   "outputs": [],
   "source": [
    "download(\"https://github.com/AllenDowney/ThinkStats2/raw/master/code/2002FemResp.dct\")\n",
    "download(\"https://github.com/AllenDowney/ThinkStats2/raw/master/code/2002FemResp.dat.gz\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "6dffc3cb",
   "metadata": {},
   "outputs": [],
   "source": [
    "from nsfg import ReadFemResp\n",
    "\n",
    "resp = ReadFemResp()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0f0c3861",
   "metadata": {},
   "source": [
    "Make a histogram of <tt>totincr</tt> the total income for the respondent's family.  To interpret the codes see the [codebook](ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/Dataset_Documentation/NSFG/Cycle6Codebook-Pregnancy.pdf)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "2c49d30c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Q4dq6dKlVuwSAABwQw7jP1/7jItyOp0KDg5WaWmpgoKCrC4HAIB6lTLnzQYfc/m0h+t8m9fy99ut7yECAABoCAQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABge7UKRC1bttS///3vC5afOnVKLVu2vO6iAAAAGlKtAtG3336rqqqqC5ZXVFTo2LFj110UAABAQ/K6ls7vv/+++e+PPvpIwcHB5nxVVZUyMjIUExNTZ8UBAAA0hGsKREOGDJEkORwOjRgxwqXN29tbMTExeuWVV+qsOAAAGlrKnDcbfMzl0x5u8DHh6poCUXV1tSQpNjZWu3btUrNmzeqlKAAAgIZ0TYGoxqFDh+q6DgAAAMvUKhBJUkZGhjIyMlRcXGyeOarx2muvXXdhAAD7seJylcQlK9QyED333HOaPXu24uLiFBkZKYfDUdd1AQAANJhaBaIVK1Zo1apVGj58eF3XAwAA0OBq9R6is2fPqmfPnnVdCwAAgCVqFYh+/etfa+3atXVdCwAAgCVqdcmsvLxcK1eu1KZNm9SxY0d5e3u7tC9cuLBOigMAAGgItQpEX375pTp37ixJ2rt3r0sbN1gDAIAbTa0C0ccff1zXdQAAAFim1u8hAgAAdY9Ph1ijVoHo3nvvveylsc2bN9e6IAAAgIZWq0BUc/9QjcrKSuXm5mrv3r0XfPQVAADA3dXqsftFixa5TMuXL9dnn32mCRMmXPDE2fU6duyYHn30UTVt2lT+/v7q0KGDPv/8c7PdMAzNmDFDkZGR8vf3V0JCgg4ePOiyjZKSEiUlJSkoKEghISEaNWqUysrK6rROAABw46pVILqURx99tE6/Y3by5En16tVL3t7e+sc//qF9+/bplVdeUZMmTcw+8+fP19KlS7VixQplZWUpICBAiYmJKi8vN/skJSUpLy9P6enpWr9+vbZu3aoxY8bUWZ0AAODGVqc3VWdmZsrPz6/Otjdv3jxFR0fr9ddfN5fFxsaa/zYMQ4sXL9a0adN03333SZJWr16t8PBwvfvuuxo2bJjy8/O1YcMG7dq1S3FxcZKkZcuWaeDAgVqwYIGioqLqrF4ANzarb2blw6aAdWoViB544AGXecMwdOLECX3++eeaPn16nRQmSe+//74SExP1q1/9Slu2bNFNN92k3/72txo9erQk6dChQyosLFRCQoK5TnBwsHr06KHMzEwNGzZMmZmZCgkJMcOQJCUkJMjDw0NZWVm6//77Lxi3oqJCFRUV5rzT6ayzfQIAAO6nVpfMgoODXabQ0FD17t1bH374oWbOnFlnxX3zzTdKS0vTrbfeqo8++khPPvmkxo0bpzfeeEOSVFhYKEkKDw93WS88PNxsKywsVFhYmEu7l5eXQkNDzT4/NnfuXJf9i46OrrN9AgAA7qdWZ4j+8xJWfaqurlZcXJxefPFFSVKXLl20d+9erVixol6fZps6daomTZpkzjudTkIRAAA/Ydd1D1F2drby8/MlSe3bt1eXLl3qpKgakZGRateuncuytm3b6u9//7skKSIiQpJUVFSkyMhIs09RUZH5aoCIiAgVFxe7bOPcuXMqKSkx1/8xX19f+fr61tVuAAAAN1erS2bFxcXq06ePunXrpnHjxmncuHHq2rWr+vbtq3/+8591VlyvXr1UUFDgsuzAgQNq0aKFpPM3WEdERCgjI8NsdzqdysrKUnx8vCQpPj5ep06dUnZ2ttln8+bNqq6uVo8ePeqsVgAAcOOqVSAaO3asvv/+e+Xl5amkpEQlJSXau3evnE6nxo0bV2fFTZw4UTt27NCLL76or776SmvXrtXKlSuVnJws6fyHZCdMmKA5c+bo/fff1549e/TYY48pKipKQ4YMkXT+jFL//v01evRo7dy5U9u2bVNKSoqGDRvGE2YAAEBSLS+ZbdiwQZs2bVLbtm3NZe3atVNqaqr69etXZ8V169ZN77zzjqZOnarZs2crNjZWixcvVlJSktnn6aef1unTpzVmzBidOnVKd955pzZs2ODy+P+aNWuUkpKivn37ysPDQ0OHDtXSpUvrrE4AdcPqx94B2FetAlF1dfVF30jt7e2t6urq6y7qP/3iF7/QL37xi0u2OxwOzZ49W7Nnz75kn9DQUK1du7ZO6wIAAD8dtbpk1qdPH40fP17Hjx83lx07dkwTJ05U375966w4AACAhlCrQLR8+XI5nU7FxMSoVatWatWqlWJjY+V0OrVs2bK6rhEAAKBe1eqSWXR0tHJycrRp0ybt379f0vmbl//zjdEAAAA3ims6Q7R582a1a9dOTqdTDodDP//5zzV27FiNHTtW3bp1U/v27fXpp5/WV60AAAD14poC0eLFizV69GgFBQVd0BYcHKzf/OY3WrhwYZ0VBwAA0BCu6ZLZ7t27NW/evEu29+vXTwsWLLjuogA0PB55B2Bn13SGqKio6KKP29fw8vKq0zdVAwAANIRrCkQ33XST9u7de8n2L7/80uWbYgAAADeCawpEAwcO1PTp01VeXn5B2w8//KCZM2de9iWKAAAA7uia7iGaNm2a3n77bf3Xf/2XUlJS1Lp1a0nS/v37lZqaqqqqKj377LP1UigAAEB9uaZAFB4eru3bt+vJJ5/U1KlTZRiGpPOfz0hMTFRqaqrCw8PrpVAAAID6cs0vZmzRooU+/PBDnTx5Ul999ZUMw9Ctt96qJk2a1Ed9AAAA9a5Wb6qWpCZNmqhbt251WQsAAIAlavUtMwAAgJ8SAhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9AhEAALA9L6sLAAC4j5Q5bzb4mMunPdzgYwI/xhkiAABgewQiAABgewQiAABgewQiAABgewQiAABgewQiAABgezx2D7gJHncGAOtwhggAANgegQgAANgegQgAANgegQgAANgegQgAANgegQgAANgej90D4pF3ALA7zhABAADbIxABAADbu6EC0UsvvSSHw6EJEyaYy8rLy5WcnKymTZuqcePGGjp0qIqKilzWO3LkiAYNGqRGjRopLCxMkydP1rlz5xq4egAA4K5umEC0a9cuvfrqq+rYsaPL8okTJ+qDDz7Q3/72N23ZskXHjx/XAw88YLZXVVVp0KBBOnv2rLZv36433nhDq1at0owZMxp6FwAAgJu6IQJRWVmZkpKS9Mc//lFNmjQxl5eWlurPf/6zFi5cqD59+qhr1656/fXXtX37du3YsUOStHHjRu3bt0//8z//o86dO2vAgAF6/vnnlZqaqrNnz150vIqKCjmdTpcJAAD8dN0Q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JiaquLjY6tIaxJYtW5ScnKwdO3YoPT1dlZWV6tevn06fPm11aQ1u165devXVV9WxY0erS2lQJ0+eVK9eveTt7a1//OMf2rdvn1555RU1adLE6tIazLx585SWlqbly5crPz9f8+bN0/z587Vs2TKrS6s3p0+fVqdOnZSamnrR9vnz52vp0qVasWKFsrKyFBAQoMTERJWXlzdwpfXncsfgzJkzysnJ0fTp05WTk6O3335bBQUF+uUvf2lBpfXnSj8HNd555x3t2LHjqj6b4Rbq4uOpdtO9e3cjOTnZnK+qqjKioqKMuXPnWliVdYqLiw1JxpYtW6wupUF9//33xq233mqkp6cb99xzjzF+/HirS2owU6ZMMe68806ry7DUoEGDjCeeeMJl2QMPPGAkJSVZVFHDkmS888475nx1dbURERFhvPzyy+ayU6dOGb6+vsabb75pQYX178fH4GJ27txpSDIOHz7cMEU1sEsdg++++8646aabjL179xotWrQwFi1a1OC1XSvOEF2js2fPKjs7WwkJCeYyDw8PJSQkKDMz08LKrFNaWipJCg0NtbiShpWcnKxBgwa5/CzYxfvvv6+4uDj96le/UlhYmLp06aI//vGPVpfVoHr27KmMjAwdOHBAkrR792599tlnGjBggMWVWePQoUMqLCx0+f8hODhYPXr0sO3vRun870eHw3HJ72H+FFVXV2v48OGaPHmy2rdvb3U5V802b6quK//6179UVVV1wRuuw8PDtX//fouqsk51dbUmTJigXr166bbbbrO6nAbz1ltvKScnR7t27bK6FEt88803SktL06RJk/T73/9eu3bt0rhx4+Tj46MRI0ZYXV6DeOaZZ+R0OtWmTRt5enqqqqpKL7zwgpKSkqwuzRKFhYWSdNHfjTVtdlNeXq4pU6bo4YcfdquPnda3efPmycvLS+PGjbO6lGtCIMJ1SU5O1t69e/XZZ59ZXUqDOXr0qMaPH6/09HT5+flZXY4lqqurFRcXpxdffFGS1KVLF+3du1crVqywTSD661//qjVr1mjt2rVq3769cnNzNWHCBEVFRdnmGODSKisr9dBDD8kwDKWlpVldToPJzs7WkiVLlJOTI4fDYXU514RLZteoWbNm8vT0VFFRkcvyoqIiRUREWFSVNVJSUrR+/Xp9/PHHuvnmm60up8FkZ2eruLhYt99+u7y8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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "hist = Hist(resp.totincr)\n",
    "thinkplot.Hist(hist, label='totincr')\n",
    "thinkplot.Config(xlabel='income (category)', ylabel='Count')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ca38328c",
   "metadata": {},
   "source": [
    "Make a histogram of <tt>age_r</tt>, the respondent's age at the time of interview."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "b5229999",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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5cqVateuncaPH6/27dtLkr7++mvNnz9flZWVeuaZZ+qkUAAAgNq4orATHh6u7du3a9y4cUpLSzPffuzh4aGEhATNnz9f4eHhdVIoAABAbVzxSwWjo6P18ccf66efftKhQ4dkGIbatm2rJk2a1EV9AAAAV6VWb1CWpCZNmqhnz57OrAUAAMDpavW3sQAAAOoLwg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0l4adrVu3KikpSVFRUfLw8NDq1asd9huGoenTpysyMlL+/v4aMGCAvvnmG4c2J0+e1IgRIxQYGKjg4GCNHj1ap0+fvoZXAQAA3JlLw05paam6dOmi+fPnV7t/zpw5ev3117Vo0SLt2LFDjRo1UkJCgs6dO2e2GTFihPbv368NGzZo7dq12rp1q8aOHXutLgEAALg5L1d+eGJiohITE6vdZxiGXn31VU2dOlV33323JOmdd95ReHi4Vq9eraFDh+rgwYNat26ddu7cqR49ekiS5s2bp0GDBunll19WVFRUtecuKytTWVmZuV5SUuLkKwMAAO7CbefsHD58WHa7XQMGDDC3BQUFqVevXsrKypIkZWVlKTg42Aw6kjRgwAA1aNBAO3bsqPHcs2fPVlBQkLm0aNGi7i4EAAC4lNuGHbvdLkkKDw932B4eHm7us9vtCgsLc9jv5eWlkJAQs0110tLSVFxcbC5HjhxxcvUAAMBduPQxlqv4+vrK19fX1WUAAIBrwG1HdiIiIiRJBQUFDtsLCgrMfRERESosLHTY//PPP+vkyZNmGwAAcH1z27DTunVrRUREKCMjw9xWUlKiHTt2yGazSZJsNpuKioqUnZ1tttm0aZOqqqrUq1eva14zAABwPy59jHX69GkdOnTIXD98+LBycnIUEhKili1bauLEifrzn/+stm3bqnXr1po2bZqioqJ0zz33SJI6duyogQMHasyYMVq0aJEqKio0fvx4DR06tMZvYgEAgOuLS8POrl27dOedd5rrqampkqRRo0Zp6dKlmjx5skpLSzV27FgVFRXptttu07p16+Tn52ces2zZMo0fP179+/dXgwYNlJycrNdff/2aXwsAAHBPLg07ffv2lWEYNe738PDQrFmzNGvWrBrbhISEKD09vS7KAwAAFuC2c3YAAACcgbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsza3DzrPPPisPDw+HpUOHDub+c+fOKSUlRaGhoQoICFBycrIKCgpcWDEAAHA3bh12JOmmm27SsWPHzGXbtm3mvkmTJmnNmjVasWKFMjMzdfToUQ0ZMsSF1QIAAHfj5eoCLsXLy0sREREXbC8uLtbf//53paenq1+/fpKkJUuWqGPHjvriiy/Uu3fvGs9ZVlamsrIyc72kpMT5hQMAALfg9iM733zzjaKiohQTE6MRI0YoPz9fkpSdna2KigoNGDDAbNuhQwe1bNlSWVlZFz3n7NmzFRQUZC4tWrSo02sAAACu49Zhp1evXlq6dKnWrVunhQsX6vDhw7r99tt16tQp2e12+fj4KDg42OGY8PBw2e32i543LS1NxcXF5nLkyJE6vAoAAOBKbv0YKzEx0fw5Li5OvXr1UnR0tP77v/9b/v7+tT6vr6+vfH19nVEiAABwc249svNbwcHBateunQ4dOqSIiAiVl5erqKjIoU1BQUG1c3wAAMD1qV6FndOnTysvL0+RkZHq3r27vL29lZGRYe7Pzc1Vfn6+bDabC6sEAADuxK0fY/3nf/6nkpKSFB0draNHj2rGjBny9PTUsGHDFBQUpNGjRys1NVUhISEKDAzUhAkTZLPZLvpNLAAAcH1x67Dz/fffa9iwYTpx4oSaNWum2267TV988YWaNWsmSZo7d64aNGig5ORklZWVKSEhQQsWLHBx1QAAwJ24ddhZvnz5Rff7+flp/vz5mj9//jWqCAAA1Df1as4OAADAlSLsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAAS7NM2Jk/f75atWolPz8/9erVS19++aWrSwIAAG7AEmHn/fffV2pqqmbMmKGvvvpKXbp0UUJCggoLC11dGgAAcDFLhJ1XXnlFY8aM0SOPPKLY2FgtWrRIDRs21FtvveXq0gAAgIt5ubqAq1VeXq7s7GylpaWZ2xo0aKABAwYoKyur2mPKyspUVlZmrhcXF0uSSkpKnF/fuTO1Oq6kpKReHivV7po59toce/54jr02x0r16/6oj8eeP55jr82x0tX9b+xs589rGMbFGxr13A8//GBIMrZv3+6w/cknnzRuueWWao+ZMWOGIYmFhYWFhYXFAsuRI0cumhXq/chObaSlpSk1NdVcr6qq0smTJxUaGioPD49rUkNJSYlatGihI0eOKDAw8Jp8Zn1FX10Z+uvy0VdXhv66fPTV5buavjIMQ6dOnVJUVNRF29X7sNO0aVN5enqqoKDAYXtBQYEiIiKqPcbX11e+vr4O24KDg+uqxIsKDAzkP4TLRF9dGfrr8tFXV4b+unz01eWrbV8FBQVdsk29n6Ds4+Oj7t27KyMjw9xWVVWljIwM2Ww2F1YGAADcQb0f2ZGk1NRUjRo1Sj169NAtt9yiV199VaWlpXrkkUdcXRoAAHAxS4SdBx98UMePH9f06dNlt9vV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Gqq77rpLeXl5Dm22b9+url27ys/PTz169NDq1avl4eGhnJwcs82+ffuUmJiogIAAhYeHa+TIkfrxxx9r/NzKykp98MEHSkpKMrfNmjXrgr+wLEldu3bVtGnTzPU333xTHTt2lJ+fnzp06KAFCxY4tJ8yZYratWunhg0bKiYmRtOmTVNFRYW5/9lnn1XXrl315ptvqnXr1vLz85MkffDBB+rcubP8/f0VGhqqAQMGqLS01DwuKSlJy5cvv0SPAnAWwg4ApygtLVVqaqp27dqljIwMNWjQQPfee6+qqqokSSUlJUpKSlLnzp311Vdf6bnnntOUKVMczlFUVKR+/fqpW7du2rVrl9atW6eCggI98MADNX7unj17VFxcrB49epjbHn30UR08eFA7d+40t/3jH//Qnj179Mgjj0iSli1bpunTp+v555/XwYMH9cILL2jatGl6++23zWMaN26spUuX6sCBA3rttde0ePFizZ071+HzDx06pA8//FArV65UTk6Ojh07pmHDhpk1bNmyRUOGDNGvZwzccsst+v777/Xtt99eeUcDuHJO+dvpAPAbx48fNyQZe/fuNQzDMBYuXGiEhoYaZ8+eNdssXrzYkGT84x//MAzDMJ577jkjPj7e4TxHjhwxJBm5ubnVfs6qVasMT09Po6qqymF7YmKiMW7cOHN9woQJRt++fc31Nm3aGOnp6Q7HPPfcc4bNZqvxmv7yl78Y3bt3N9dnzJhheHt7G4WFhea27OxsQ5Lx7bff1nie4uJiQ5KxZcuWGtsAcB5GdgA4xTfffKNhw4YpJiZGgYGBatWqlSQpPz9fkpSbm6u4uDjzUY/0ywjHr+3evVubN29WQECAuXTo0EGSLngkdt7Zs2fl6+srDw8Ph+1jxozRe++9p3Pnzqm8vFzp6el69NFHJf0yCpWXl6fRo0c7fNaf//xnh895//331adPH0VERCggIEBTp041r+e86OhoNWvWzFzv0qWL+vfvr86dO+v+++/X4sWL9dNPPzkc4+/vL0k6c+bMxTsVgFN4uboAANaQlJSk6OhoLV68WFFRUaqqqlKnTp0ua9LueadPn1ZSUpJeeumlC/ZFRkZWe0zTpk115swZlZeXy8fHx6EeX19frVq1Sj4+PqqoqNB9991nfo4kLV68WL169XI4n6enpyQpKytLI0aM0MyZM5WQkKCgoCAtX75cf/3rXx3aN2rU6ILjN2zYoO3bt+vTTz/VvHnz9Mwzz2jHjh1q3bq1JOnkyZOS5BCSANQdwg6Aq3bixAnl5uZq8eLFuv322yVJ27Ztc2jTvn17vfvuuyorK5Ovr68kOcypkaSbb75ZH374oVq1aiUvr8v79dS1a1dJ0oEDB8yfJcnLy0ujRo3SkiVL5OPjo6FDh5ojKuHh4YqKitL//d//acSIEdWed/v27YqOjtYzzzxjbvvuu+8uqyYPDw/16dNHffr00fTp0xUdHa1Vq1YpNTVV0i+TsL29vXXTTTdd1vkAXB3CDoCr1qRJE4WGhuqNN95QZGSk8vPz9dRTTzm0GT58uJ555hmNHTtWTz31lPLz8/Xyyy9LkvkIKiUlRYsXL9awYcM0efJkhYSE6NChQ1q+fLnefPNNc9Tl15o1a6abb75Z27Ztcwg7kvTYY4+pY8eOkqTPP//cYd/MmTP1+OOPKygoSAMHDlRZWZl27dqln376SampqWrbtq3y8/O1fPly9ezZU//7v/+rVatWXbIvduzYoYyMDMXHxyssLEw7duzQ8ePHzTok6bPPPtPtt99uhi8AdczVk4YAWMOGDRuMjh07Gr6+vkZcXJyxZcsWQ5KxatUqs83nn39uxMXFGT4+Pkb37t2N9PR0Q5Lx9ddfm23++c9/Gvfee68RHBxs+Pv7Gx06dDAmTpx4wQTkX1uwYIHRu3fvavfdfvvtxk033VTtvmXLlhldu3Y1fHx8jCZNmhh33HGHsXLlSnP/k08+aYSGhhoBAQHGgw8+aMydO9cICgoy98+YMcPo0qWLwzkPHDhgJCQkGM2aNTN8fX2Ndu3aGfPmzXNo0759e+O9996r8XoAOBdvUAbgMsuWLdMjjzyi4uLiqxrlOHv2rNq3b6/3339fNpvN3G4Yhtq2bas//vGP5iMkV/vkk0/0pz/9SXv27LnsR3UArg7/pQG4Zt555x3FxMTohhtu0O7duzVlyhQ98MADV/04x9/fX++8847DywePHz+u5cuXy263m+/WcQelpaVasmQJQQe4hhjZAXDNzJkzRwsWLJDdbldkZKTuuecePf/882rYsKHTP8vDw0NNmzbVa6+9puHDhzv9/ADqD8IOAACwNF4qCAAALI2wAwAALI2wAwAALI2wAwAALI2wAwAALI2wAwAALI2wAwAALI2wAwAALO3/ARLrtDXJuOQ/AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "hist = Hist(resp.ager)\n",
    "thinkplot.Hist(hist, label='ager')\n",
    "thinkplot.Config(xlabel='age (years)', ylabel='Count')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8d8de98a",
   "metadata": {},
   "source": [
    "Make a histogram of <tt>numfmhh</tt>, the number of people in the respondent's household."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "e97c1d0b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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rHpxhegac+bMGWVnZ2vAgAH2MS8vLw0YMEBZWVkerAw/dfz4cUlSUFCQhytBcnKyhgwZ4vbvDDzj7bffVpcuXfTb3/5WISEhiouL01/+8hdPl2W8Hj16KCMjQ59//rkk6eOPP9aHH36oQYMGebiy6mXMk6pN8d///ldlZWWVnsAdGhqqzz77zENV4afKy8s1efJk9ezZUzfffLOnyzHa66+/rj179mjXrl2eLgWS/vOf/+ill15SSkqKHn/8ce3atUuTJk2S0+nUmDFjPF2esR577DG5XC61adNG3t7eKisr05NPPqlRo0Z5urRqRSACrrLk5GTt27dPH374oadLMdqRI0f08MMPa/369fL19fV0OdCP/7PQpUsXPfXUU5KkuLg47du3Ty+//DKByIP+8Y9/aMWKFVq5cqXatWunnJwcTZ48WREREdfU50IgusYEBwfL29tbhYWFbscLCwsVFhbmoapQYcKECVqzZo0yMzN1ww03eLoco2VnZ6uoqEidOnWyj5WVlSkzM1OLFi1SSUmJvL29PVihecLDwxUTE+N2rG3btvr3v//toYogSY888ogee+wxDR8+XJLUvn17ffXVV0pPT7+mAhFriK4xTqdTnTt3VkZGhn2svLxcGRkZSkhI8GBlZrMsSxMmTNCbb76pjRs3Kjo62tMlGa9///765JNPlJOTY29dunTRqFGjlJOTQxjygJ49e1Z6HMXnn3+uqKgoD1UESTp16pS8vNzjgre3t8rLyz1UUc3gCtE1KCUlRWPGjFGXLl3UrVs3LVy4UCdPntS9997r6dKMlZycrJUrV+qtt96Sv7+/CgoKJEmBgYFq0KCBh6szk7+/f6U1XA0bNlSTJk1Y2+UhU6ZMUY8ePfTUU09p2LBh2rlzp5YsWaIlS5Z4ujSj3XbbbXryySfVrFkztWvXTh999JEWLFig++67z9OlVSu+dn+NWrRokebPn6+CggJ17NhRL7zwguLj4z1dlrEcDsc5jy9btkz33HPP1S0G59W3b1++du9ha9asUWpqqr744gtFR0crJSVF48aN83RZRvvhhx80ffp0vfnmmyoqKlJERIRGjBihGTNmyOl0erq8akMgAgAAxmMNEQAAMB6BCAAAGI9ABAAAjEcgAgAAxiMQAQAA4xGIAACA8QhEAADAeAQiAABgPAIRgFqlb9++mjx5sqfLsFmWpfHjxysoKEgOh0M5OTmeLumC7rnnHt1xxx2eLgOoc/gtMwC4gLVr12r58uXatGmTWrRooeDgYE+XBKAGEIgAXPPKysrkcDgq/WL3pTh06JDCw8PVo0ePGqgMQG3BLTMAlfTt21eTJk3So48+qqCgIIWFhSktLc1u//LLLyvdPiouLpbD4dCmTZskSZs2bZLD4dD777+vuLg4NWjQQLfeequKior03nvvqW3btgoICNDIkSN16tQpt/OXlpZqwoQJCgwMVHBwsKZPn66f/uxiSUmJ/vCHP+j6669Xw4YNFR8fb59XkpYvX65GjRrp7bffVkxMjHx8fJSXl3fOuW7evFndunWTj4+PwsPD9dhjj6m0tFTSj7efJk6cqLy8PDkcDjVv3vycY1Scb/Xq1WrVqpV8fX2VlJSkI0eOuPV766231KlTJ/n6+qpFixaaNWuWfS5JysvL0+23367rrrtOAQEBGjZsmAoLC+32tLQ0dezYUX/+858VGRkpPz8/DRs2TMePHz9nXZJUXl6u9PR0RUdHq0GDBurQoYP+9a9/nbc/YCwLAH6mT58+VkBAgJWWlmZ9/vnn1quvvmo5HA5r3bp1lmVZ1uHDhy1J1kcffWS/5tixY5Yk64MPPrAsy7I++OADS5LVvXt368MPP7T27Nlj3XjjjVafPn2sxMREa8+ePVZmZqbVpEkTa+7cuW7nvu6666yHH37Y+uyzz6y///3vlp+fn7VkyRK7z/3332/16NHDyszMtA4ePGjNnz/f8vHxsT7//HPLsixr2bJlVv369a0ePXpYW7dutT777DPr5MmTleb59ddfW35+ftbvfvc768CBA9abb75pBQcHWzNnzrQsy7KKi4ut2bNnWzfccIOVn59vFRUVnfP9qjhfly5drG3btlm7d++2unXrZvXo0cPuk5mZaQUEBFjLly+3Dh06ZK1bt85q3ry5lZaWZlmWZZWVlVkdO3a0brnlFmv37t3W9u3brc6dO1t9+vSxx5g5c6bVsGFD69Zbb7U++ugja/PmzdaNN95ojRw50u4zZswY6/bbb7f358yZY7Vp08Zau3atdejQIWvZsmWWj4+PtWnTpgv8EwCYh0AEoJI+ffpYt9xyi9uxrl27WlOnTrUs6/IC0YYNG+w+6enpliTr0KFD9rEHHnjASkpKcjt327ZtrfLycvvY1KlTrbZt21qWZVlfffWV5e3tbX3zzTdu9fXv399KTU21LOvHgCLJysnJueA8H3/8cat169Zu51q8eLF13XXXWWVlZZZlWdZzzz1nRUVFXXCcivNt377dPnbgwAFLkrVjxw67vqeeesrtdX/729+s8PBwy7Isa926dZa3t7eVl5dnt+/fv9+SZO3cudOyrB8Dkbe3t/X111/bfd577z3Ly8vLys/PtyzLPRCdPn3a8vPzs7Zt2+Z23rFjx1ojRoy44JwA07CGCMA5xcbGuu2Hh4erqKjoisYJDQ2Vn5+fWrRo4XZs586dbq/p3r27HA6HvZ+QkKBnn31WZWVl+uSTT1RWVqabbrrJ7TUlJSVq0qSJve90OivN4ecOHDighIQEt3P17NlTJ06c0Ndff61mzZpd8jzr1aunrl272vtt2rRRo0aNdODAAXXr1k0ff/yxtm7dqieffNLuU1ZWptOnT+vUqVM6cOCAIiMjFRkZabfHxMTYY1SM3axZM11//fVu7015eblyc3MVFhbmVtPBgwd16tQp/eIXv3A7fubMGcXFxV3y3AATEIgAnFP9+vXd9h0Oh8rLyyXJXpxs/WRdz9mzZy86jsPhuOC4l+LEiRPy9vZWdna2vL293dquu+46++8GDRq4BR1PO3HihGbNmqU777yzUpuvr2+NnVOS3nnnHbcQJUk+Pj41ck6griIQAbhsTZs2lSTl5+fbVxqq8/k8O3bscNvfvn27WrVqJW9vb8XFxamsrExFRUXq1avXFZ2nbdu2+ve//y3LsuzwtHXrVvn7++uGG264rLFKS0u1e/dudevWTZKUm5ur4uJitW3bVpLUqVMn5ebm6sYbbzxvLUeOHNGRI0fsq0SffvqpiouLFRMTY/fLy8vTt99+q4iICEk/vjdeXl5q3bp1pTF/uqC8T58+lzUfwDQEIgCXrUGDBurevbvmzp2r6OhoFRUVadq0adU2fl5enlJSUvTAAw9oz549evHFF/Xss89Kkm666SaNGjVKo0eP1rPPPqu4uDh99913ysjIUGxsrIYMGXLJ5/nd736nhQsXauLEiZowYYJyc3M1c+ZMpaSkXPZX9OvXr6+JEyfqhRdeUL169TRhwgR1797dDkgzZszQL3/5SzVr1ky/+c1v5OXlpY8//lj79u3TnDlzNGDAALVv316jRo3SwoULVVpaqt/97nfq06ePunTpYp/H19dXY8aM0TPPPCOXy6VJkyZp2LBhlW6XSZK/v7/+8Ic/aMqUKSovL9ctt9yi48ePa+vWrQoICNCYMWMua47AtYyv3QOokqVLl6q0tFSdO3fW5MmTNWfOnGobe/To0fq///s/devWTcnJyXr44Yc1fvx4u33ZsmUaPXq0fv/736t169a64447tGvXrsta8yNJ119/vd59913t3LlTHTp00IMPPqixY8dWKdz5+flp6tSpGjlypHr27KnrrrtOq1atstuTkpK0Zs0arVu3Tl27dlX37t313HPPKSoqStKPtw7feustNW7cWL1799aAAQPUokULtzEk6cYbb9Sdd96pwYMHKzExUbGxsfrTn/503rqeeOIJTZ8+Xenp6Wrbtq0GDhyod955R9HR0Zc9R+Ba5rB+uggAAHDZli9frsmTJ6u4uLhGz5OWlqbVq1fX+p8PAeoirhABAADjEYgAAIDxuGUGAACMxxUiAABgPAIRAAAwHoEIAAAYj0AEAACMRyACAADGIxABAADjEYgAAIDxCEQAAMB4/w8hm5C2pRusNgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "hist = Hist(resp.numfmhh)\n",
    "thinkplot.Hist(hist, label='numfmhh')\n",
    "thinkplot.Config(xlabel='number of people', ylabel='Count')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ebe67fc8",
   "metadata": {},
   "source": [
    "Make a histogram of <tt>parity</tt>, the number of children borne by the respondent.  How would you describe this distribution?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "e740d764",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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AADAeAQiAABgPAIRAAAwHoEIAAAYz6+B6JVXXlH37t1ls9lks9nkdDr1wQcfeNrPnTunpKQktWrVSs2bN9eIESNUWFjoNUZ+fr6GDBmipk2bKjw8XE899ZTOnz/v1SczM1O9evVSaGiorr/+eqWmptbF9AAAQD3h10B03XXXacGCBcrOztaBAwc0cOBA3XvvvTpy5Igkadq0aXrvvfe0fv167dy5U8ePH9fw4cM9v19ZWakhQ4aovLxcn376qVavXq3U1FTNmjXL0ycvL09DhgzRHXfcoZycHE2dOlUTJ07Utm3b6ny+AAAgMFncAfYlK2FhYXr++ed1//33q02bNkpLS9P9998vSTp69Kg6d+6srKws9e/fXx988IHuueceHT9+XBEREZKklStXavr06Tp58qSsVqumT5+uLVu26PDhw55zjBw5UsXFxdq6detl1eRyuWS321VSUiKbzebzOSc/t9Yn4yyfOcon4wAA0BBcyb/fAXMPUWVlpd566y2dOXNGTqdT2dnZqqioUHx8vKdPp06dFBMTo6ysLElSVlaWunXr5glDkpSYmCiXy+VZZcrKyvIao7pP9RgXU1ZWJpfL5bUBAICGy++B6NChQ2revLlCQ0P12GOPacOGDerSpYsKCgpktVrVsmVLr/4REREqKCiQJBUUFHiFoer26rZL9XG5XDp79uxFa5o/f77sdrtni46O9sVUAQBAgPJ7IOrYsaNycnK0d+9ePf744xo3bpy++OILv9Y0Y8YMlZSUeLZjx475tR4AAFC7/P7VHVarVddff70kqXfv3tq/f79eeuklPfjggyovL1dxcbHXKlFhYaEcDockyeFwaN++fV7jVX8K7dd9fvvJtMLCQtlsNjVp0uSiNYWGhio0NNQn8wMAAIHP7ytEv1VVVaWysjL17t1bISEhysjI8LTl5uYqPz9fTqdTkuR0OnXo0CEVFRV5+qSnp8tms6lLly6ePr8eo7pP9RgAAAB+XSGaMWOGBg8erJiYGP30009KS0tTZmamtm3bJrvdrgkTJiglJUVhYWGy2WyaMmWKnE6n+vfvL0lKSEhQly5dNGbMGC1cuFAFBQWaOXOmkpKSPCs8jz32mJYvX66nn35ajz76qHbs2KG3335bW7Zs8efUAQBAAPFrICoqKtLYsWN14sQJ2e12de/eXdu2bdNdd90lSVq8eLGC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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "# This distribution is positive-valued and skewed to the right.\n",
    "\n",
    "hist = Hist(resp.parity)\n",
    "thinkplot.Hist(hist, label='parity')\n",
    "thinkplot.Config(xlabel='parity', ylabel='Count')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b5180cf3",
   "metadata": {},
   "source": [
    "Use Hist.Largest to find the largest values of <tt>parity</tt>."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "a5a1c3ee",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(22, 1),\n",
       " (16, 1),\n",
       " (10, 3),\n",
       " (9, 2),\n",
       " (8, 8),\n",
       " (7, 15),\n",
       " (6, 29),\n",
       " (5, 95),\n",
       " (4, 309),\n",
       " (3, 828)]"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "hist.Largest(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0b7de721",
   "metadata": {},
   "source": [
    "Let's investigate whether people with higher income have higher parity.  Keep in mind that in this study, we are observing different people at different times during their lives, so this data is not the best choice for answering this question.  But for now let's take it at face value.\n",
    "\n",
    "Use <tt>totincr</tt> to select the respondents with the highest income (level 14).  Plot the histogram of <tt>parity</tt> for just the high income respondents."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "8e3ce887",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "rich = resp[resp.totincr == 14]\n",
    "hist = Hist(rich.parity)\n",
    "thinkplot.Hist(hist, label='parity')\n",
    "thinkplot.Config(xlabel='parity', ylabel='Count')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a115dd1e",
   "metadata": {},
   "source": [
    "Find the largest parities for high income respondents."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "80852943",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(8, 1), (7, 1), (5, 5), (4, 19), (3, 123), (2, 267), (1, 229), (0, 515)]"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "hist.Largest(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b1c9b431",
   "metadata": {},
   "source": [
    "Compare the mean <tt>parity</tt> for high income respondents and others."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "9a3f1210",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1.0758620689655172, 1.2495758136665125)"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "not_rich = resp[resp.totincr < 14]\n",
    "rich.parity.mean(), not_rich.parity.mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fbf95bb5",
   "metadata": {},
   "source": [
    "Compute the Cohen effect size for this difference.  How does it compare with the difference in pregnancy length for first babies and others?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "91b96d39",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.12511855314660367"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "# This effect is about 10 times stronger than the difference in pregnancy length.\n",
    "# But remembering the design of the study, we should not make too much of this\n",
    "# apparent effect.\n",
    "\n",
    "CohenEffectSize(rich.parity, not_rich.parity)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "72605520",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
